Skip to main content

Oggetto: Proprietà interfaccia

Simbolo: _cds_icon_interface_property.png

Le proprietà dell'interfaccia sono un'estensione della norma IEC 61131-3 e uno strumento per la programmazione orientata agli oggetti. Una proprietà dell'interfaccia dichiara i metodi di accesso Get e Set (nessun codice di implementazione). Pertanto, un blocco funzione che implementa un interfaccia eredita anche le proprietà dell'interfaccia.

È possibile aggiungere una proprietà di interfaccia all'albero dei dispositivi per un'interfaccia. Quindi un'interfaccia viene estesa con i metodi di accesso Get e Set. Il Get accessor è per l'accesso in lettura. Il Set accessor è per l'accesso in scrittura. È possibile eliminare una funzione di accesso non necessaria. Clic Progetto → Aggiungi oggetto → Proprietà interfaccia . per aggiungere un accessorio. Il Aggiungi proprietà interfaccia si apre la finestra di dialogo.

Esempio

Esempio 521. Dichiarazione e implementazione della proprietà dell'interfaccia Literal_A
_cds_img_interface_property_pous.png
_cds_img_interface_property_devices.png

L'interfaccia itf_A ha la proprietà Literal_A con i metodi di accesso Get e Set.

I blocchi funzione fb_A1 e fb_A2 implementare l'interfaccia itf_A e quindi eredita la sua proprietà di interfaccia. Ogni FB ha la propria implementazione.

Interfaccia itf_A

INTERFACE itf_A
VAR
END_VAR
PROPERTY Literal_A : STRING

FB fb_A1

FUNCTION_BLOCK fb_A1 IMPLEMENTS itf_A
VAR
        str_1 : STRING;
        str_2 : STRING;
        iCnt : INT;
END_VAR
iCnt := iCnt + 1;

str_1 := 'Function block A1';

Accessore fb_A1.Literal_A.Get

VAR
END_VAR
Literal_A := CONCAT (str_1,' and property.');

Accessore fb_A1.Literal_A.Set

VAR
END_VAR
str_2 := Literal_A;

FB fb_A2

FUNCTION_BLOCK fb_A2 IMPLEMENTS itf_A
VAR
        str_1 : STRING;
        str_2 : STRING;
        iCnt : INT;
END_VAR

iCnt := iCnt + 1;
str_1 := 'Function block A2';

Accessore fb_A2.Literal_A.Get

VAR
END_VAR
Literal_A := str_1;

Accessore fb_A2.Literal_A.Set

VAR
END_VAR
str_2 := Literal_A;

Programma PLC_PRG

PROGRAM PLC_PRG
VAR
        iCnt : INT;
        my_1 : fb_A1;
        my_2 : fb_A2;
        strName_1 : STRING;
        strName_2: STRING;
END_VAR

iCnt := iCnt + 1;
my_1();
my_2();
strName_1:= my_1.Literal_A;
strName_2:= my_2.Literal_A;
my_1.Literal_A := 'Hello 1';
my_2.Literal_A := 'World 2';

Ciò porta al seguente monitoraggio di PLC_PRG al runtime dell'applicazione:

_cds_img_interface_property_monitoring.png